package br.ufc.es.pds.mudproject.main;
import br.ufc.es.pds.mudproject.core.Ambiente;
import br.ufc.es.pds.mudproject.npcs.BarbaraNPC;
import br.ufc.es.pds.mudproject.npcs.ErichNPC;
import br.ufc.es.pds.mudproject.npcs.PardalNPC;
import br.ufc.es.pds.mudproject.npcs.RebeccaNPC;
import br.ufc.es.pds.mudproject.npcs.RobertNPC;
import br.ufc.es.pds.mudproject.objects.LivroEmInglesCapaDura;
import br.ufc.es.pds.mudproject.objects.PlacaFormatura1;
import br.ufc.es.pds.mudproject.objects.PlacaFormatura2;

public class Setup {

	private Ambiente areaDeConvivencia;
	private Ambiente hall;
	private Ambiente lanchonete;
	private Ambiente corredor;
	private Ambiente biblioteca;
	private Ambiente coordenacao;
	
	public Setup(){
		areaDeConvivencia = new Ambiente(
				"AreaDeConvivencia","Área de convivência do Campus. Bela vista para os monólitos!");
		hall =  new Ambiente(
				"Hall",
				"Espaço largo com vista para a área interna e os blocos didáticos. Algumas placas de formatura nas paredes");
		lanchonete = new Ambiente(
				"Lanchonete","Lanchonete do campus. Oferece sucos, refrigerantes, água, salgados e prato de vatapá.");
		corredor = new Ambiente(
				"Corredor","Corredor estreito com jarros de plantas.");
		biblioteca = new Ambiente(
				"Biblioteca","Biblioteca do Campus da UFC em Quixadá. Muitas prateleiras com livros, mesas de estudo e um balcão de atendimento.");
		coordenacao = new Ambiente(
				"Coordenação","Sala das Coordenações de cursos. Possui um balcão de atendimento, um mural de recados, muitos porta-arquivos de metal por trás do balcão.");
			
		areaDeConvivencia.adicionarSaida("NORTE", lanchonete);
		areaDeConvivencia.adicionarSaida("OESTE", hall);
		areaDeConvivencia.adicionarSaida("LESTE", corredor);
		
		lanchonete.adicionarSaida("SUL", areaDeConvivencia);
		
		hall.adicionarSaida("LESTE", areaDeConvivencia);
		hall.adicionarSaida("OESTE", coordenacao);
		
		corredor.adicionarSaida("OESTE", areaDeConvivencia);
		corredor.adicionarSaida("LESTE", biblioteca);
		
		biblioteca.adicionarSaida("OESTE", corredor);
		
		coordenacao.adicionarSaida("LESTE", hall);
		
		
		// NPCS e Objetos
		
		
		areaDeConvivencia.adicionarNpc( new PardalNPC() );
		areaDeConvivencia.adicionarNpc( new BarbaraNPC() );
		
		hall.adicionarObjetos( new PlacaFormatura1() );
		hall.adicionarObjetos( new PlacaFormatura2() );
		
		corredor.adicionarNpc( new ErichNPC() );
		corredor.adicionarObjetos( new LivroEmInglesCapaDura() );
		
		biblioteca.adicionarNpc( new RebeccaNPC() );
		
		coordenacao.adicionarNpc( new RobertNPC() );
		
	}
	
	public Ambiente pegarMapaInicial(){
		return areaDeConvivencia;
	}
	
}
